package com.koron.css2.newProjectCenter.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Transient;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public class PjInfoListVO {

    /**
     * 主键
     */
    private String id;
    /**
     * 工程编号
     */
    private String billNo;
    /**
     * 工程名称
     */
    private String pjName;
    /**
     * 客户姓名
     */
    private String ctmName;
    /**
     * 证件号码
     */
    private String certNo;
    /**
     * 客户电话
     */
    private String mobile;
    /**
     * 状态
     */
    private String processState;
    /**
     * 进度
     */
    private String processName;
    /**
     * 当前处理人
     */
    private String processHandleMan;
    /**
     * 紧急程度
     */
    private String urgentFlag;
    /**
     * 紧急程度
     */
    private String urgentFlagName;
    /**
     * 工程日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date billDate;
    /**
     * 工程日期
     */
    private String billDateString;
    /**
     * 经办人
     */
    private String agentMan;
    /**
     * 经办人电话
     */
    private String agentLinkTel;
    /**
     * 用水地址
     */
    private String installAddr;
    /**
     * 装表数量
     */
    private String meterNum;
    /**
     * 来源渠道
     */
    private String sourceFlag;
    /**
     * 工程类型
     */
    private String pjType;
    /**
     * 收款日期
     */
    private String chargeDate;
    /**
     * 收款金额
     */
    private Double chargeMoney;
    /**
     * 收款状态
     */
    private Integer chargeFlag;
    /**
     * 收款状态转换后
     */
    private String chargeFlagName;
    /**
     * 收款类型
     */
    private Integer chargeType;
    /**
     * 收款类型转换后
     */
    private String chargeTypeName;
    /**
     * 收款单据表id
     */
    private String receiptId;
    /**
     * 冲单列表
     */
    private List<HashMap<String, String>> ids;
    /**
     * 预缴金额
     */
    private Double budgetMoney;
    /**
     * 累计金额
     */
    private Double accruedMoney;
    /**
     * 终止标记：0-未终止；1-已终止
     */
    private Integer terminationFlag;
    /**
     * 是否满足延期条件，0否1是
     */
    private Integer timepostponeFlag;

    /**
     * 临时客户id
     */
    private String userCtmTempId;

    /**
     * 完工日期
     */
    private String completionDate;

    /**
     * 已用时间
     */
    private String usedTime;
    private Integer usedSum;
    private String usedTimeStr;

    /**
     * 申请时间
     */
    private String createTime;

    /**
     * 申请人姓名
     */
    private String createName;

    /**
     * 施工主体
     */
    private String constructionUnit;

    /**
     * 延期标志：0-未延期；1-已延期
     */
    private Integer delayFlag;

    /**
     * 是否已延期
     */
    private Integer delayState;

    /**
     * 工程挂起状态
     */
    private Integer pendingState;

    /**
     * 是否已延期
     */
    private String delayStateName;

    /**
     * 是否已超期
     */
    private Integer timeOutFlag;
    /**
     * 当前节点是否超期
     */
    private String currentNodetimeOutFlag;


    private String projectTimeOut;


    /**
     * 是否已超期
     */
    private String timeOutFlagName;

    private String timeOut;

    /**
     * 驳回状态
     */
    private Integer overruleFlag;

    /**
     * 驳回状态
     */
    private String overruleFlagName;

    /**
     * 缴清标志：0-未缴清；1-已缴清
     */
    private Integer payOffFlag;

    /**
     * 缴清标志：0-未缴清；1-已缴清
     */
    private String payOffFlagName;

    /**
     * 签合同标志：0-未签；1-已签
     */
    private Integer signContractFlag;

    /**
     * 施工合同签署状态
     */
    private String sgContractFlag;

    /**
     * 供水合同签署状态
     */
    private String gsContractFlag;

    /**
     * 签合同标志：0-未签；1-已签
     */
    private String signContractFlagName;

    /**
     * 流程实例ID
     */
    private String processInstanceId;

    /**
     * 营业区域
     */
    private String businessArea;
    /**
     * 计划完成时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date planTime;
    /**
     * 计划工时
     */
    private Integer planSum;
    /**
     * 工作日天数
     */
    private Integer workDays;
    /**
     * 工作日小时数
     */
    private  Integer workHours;

    /**
     * 合同编号
     */
    private String contractNo;
    /**
     * 预算类型
     */
    private String prepayType;

    private String  totalCost;
    private String bearCost;
    private String  noBearCost;

    /**
     *设计类型:0自行设计1委外设计
     */
    private Integer designType;
    /**
     *设计类型:0自行设计1委外设计
     */
    @Transient
    private String designTypeName;


    /*
     * 开挖方式 市政道路开挖、市政绿化开挖、非开挖、穿河
     * */
    private String excavationMethod;

    /*
     * 施工费
     * */
    private Double implementProjectCost;

    /*
     * 机具费
     * */
    private Double equipmentCost;
    /*
     *主材费
     * */
    private Double mainMaterialCost;
    /*
     * 辅材费
     * */
    private Double auxiliaryMaterialCost;

    /*
     *设计费
     **/
    private Double  designFee;

    /*资料先后*/
    private String dataSequence;




    /*
     * 施工设计费
     * */
    private Double  constructionDesignCost;

    /*
     * 其他费用
     * */
    private Double otherCosts;

    /*固定电话*/
    private String fixedPhone;
    /*开户银行*/
    private String openAccountBank;
    /*是否具有营商环境考察 1是 2否*/
    private Integer businessEnvironment;



    /*负责人*/
    private String responsiblePerson;

    /*联系电话*/
    private String contactNumber;

    /*开工日期*/
    private String startDate;


    /*是否竣工*/
    private boolean hasCompleted;


    /*当前进度*/
    private String currentProgress;

    /* 进度日期*/
    private String progressDate;

    /*  施工*/
    private String  construction;

    /*  验收人*/
    private String  inspector;

    /*  验收日期*/
    private String  inspectionDate;

    /*  验收结果*/
    private String  inspectionResult;

    /*  手续*/
    private String procedure;

    /*  手续*/
    private String inspectionDescription ;// 验收情况说明


    private Double settlementTotalAmount;// 结算总金额：

    private Double  settlementEngineeringFee;//结算工程费：

    private Double  settlementDesignFee;//结算设计费：

    private String  registrationSn;
    /*  竣工时间*/
    private String completionScheduled;


    public String getRegistrationSn() {
        return registrationSn;
    }

    public void setRegistrationSn(String registrationSn) {
        this.registrationSn = registrationSn;
    }

    public Double getConstructionDesignCost() {
        return constructionDesignCost;
    }

    public void setConstructionDesignCost(Double constructionDesignCost) {
        this.constructionDesignCost = constructionDesignCost;
    }

    public Double getOtherCosts() {
        return otherCosts;
    }

    public void setOtherCosts(Double otherCosts) {
        this.otherCosts = otherCosts;
    }

    public String getFixedPhone() {
        return fixedPhone;
    }

    public void setFixedPhone(String fixedPhone) {
        this.fixedPhone = fixedPhone;
    }

    public String getOpenAccountBank() {
        return openAccountBank;
    }

    public void setOpenAccountBank(String openAccountBank) {
        this.openAccountBank = openAccountBank;
    }

    public Integer getBusinessEnvironment() {
        return businessEnvironment;
    }

    public void setBusinessEnvironment(Integer businessEnvironment) {
        this.businessEnvironment = businessEnvironment;
    }

    public String getResponsiblePerson() {
        return responsiblePerson;
    }

    public void setResponsiblePerson(String responsiblePerson) {
        this.responsiblePerson = responsiblePerson;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getStartDate() {
        return startDate;
    }

    public void setStartDate(String startDate) {
        this.startDate = startDate;
    }

    public boolean getHasCompleted() {
        return hasCompleted;
    }

    public void setHasCompleted(boolean hasCompleted) {
        this.hasCompleted = hasCompleted;
    }

    public String getCurrentProgress() {
        return currentProgress;
    }

    public void setCurrentProgress(String currentProgress) {
        this.currentProgress = currentProgress;
    }

    public String getProgressDate() {
        return progressDate;
    }

    public void setProgressDate(String progressDate) {
        this.progressDate = progressDate;
    }

    public String getConstruction() {
        return construction;
    }

    public void setConstruction(String construction) {
        this.construction = construction;
    }

    public String getInspector() {
        return inspector;
    }

    public void setInspector(String inspector) {
        this.inspector = inspector;
    }

    public String getInspectionDate() {
        return inspectionDate;
    }

    public void setInspectionDate(String inspectionDate) {
        this.inspectionDate = inspectionDate;
    }

    public String getInspectionResult() {
        return inspectionResult;
    }

    public void setInspectionResult(String inspectionResult) {
        this.inspectionResult = inspectionResult;
    }

    public String getProcedure() {
        return procedure;
    }

    public void setProcedure(String procedure) {
        this.procedure = procedure;
    }

    public String getInspectionDescription() {
        return inspectionDescription;
    }

    public void setInspectionDescription(String inspectionDescription) {
        this.inspectionDescription = inspectionDescription;
    }

    public Double getSettlementTotalAmount() {
        return settlementTotalAmount;
    }

    public void setSettlementTotalAmount(Double settlementTotalAmount) {
        this.settlementTotalAmount = settlementTotalAmount;
    }

    public Double getSettlementEngineeringFee() {
        return settlementEngineeringFee;
    }

    public void setSettlementEngineeringFee(Double settlementEngineeringFee) {
        this.settlementEngineeringFee = settlementEngineeringFee;
    }

    public Double getSettlementDesignFee() {
        return settlementDesignFee;
    }

    public void setSettlementDesignFee(Double settlementDesignFee) {
        this.settlementDesignFee = settlementDesignFee;
    }

    public String getCompletionScheduled() {
        return completionScheduled;
    }

    public void setCompletionScheduled(String completionScheduled) {
        this.completionScheduled = completionScheduled;
    }

    public String getDataSequence() {
        return dataSequence;
    }

    public void setDataSequence(String dataSequence) {
        this.dataSequence = dataSequence;
    }
    public String getExcavationMethod() {
        return excavationMethod;
    }

    public void setExcavationMethod(String excavationMethod) {
        this.excavationMethod = excavationMethod;
    }

    public Double getImplementProjectCost() {
        return implementProjectCost;
    }

    public void setImplementProjectCost(Double implementProjectCost) {
        this.implementProjectCost = implementProjectCost;
    }

    public Double getEquipmentCost() {
        return equipmentCost;
    }

    public void setEquipmentCost(Double equipmentCost) {
        this.equipmentCost = equipmentCost;
    }

    public Double getMainMaterialCost() {
        return mainMaterialCost;
    }

    public void setMainMaterialCost(Double mainMaterialCost) {
        this.mainMaterialCost = mainMaterialCost;
    }

    public Double getAuxiliaryMaterialCost() {
        return auxiliaryMaterialCost;
    }

    public void setAuxiliaryMaterialCost(Double auxiliaryMaterialCost) {
        this.auxiliaryMaterialCost = auxiliaryMaterialCost;
    }

    public Double getDesignFee() {
        return designFee;
    }

    public void setDesignFee(Double designFee) {
        this.designFee = designFee;
    }

    public Integer getDesignType() {
        return designType;
    }

    public void setDesignType(Integer designType) {
        this.designType = designType;
    }

    public String getDesignTypeName() {
        return designTypeName;
    }

    public void setDesignTypeName(String designTypeName) {
        this.designTypeName = designTypeName;
    }

    public String getTotalCost() {
        return totalCost;
    }

    public void setTotalCost(String totalCost) {
        this.totalCost = totalCost;
    }

    public String getBearCost() {
        return bearCost;
    }

    public void setBearCost(String bearCost) {
        this.bearCost = bearCost;
    }

    public String getNoBearCost() {
        return noBearCost;
    }

    public void setNoBearCost(String noBearCost) {
        this.noBearCost = noBearCost;
    }

    public String getPrepayType() {
        return prepayType;
    }

    public void setPrepayType(String prepayType) {
        this.prepayType = prepayType;
    }

    public String getContractNo() {
        return contractNo;
    }

    public void setContractNo(String contractNo) {
        this.contractNo = contractNo;
    }

    public String getSgContractFlag() {
        return sgContractFlag;
    }

    public void setSgContractFlag(String sgContractFlag) {
        this.sgContractFlag = sgContractFlag;
    }

    public String getGsContractFlag() {
        return gsContractFlag;
    }

    public void setGsContractFlag(String gsContractFlag) {
        this.gsContractFlag = gsContractFlag;
    }

    public void setPlanSum(Integer planSum) {
        this.planSum = planSum;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public String getPjName() {
        return pjName;
    }

    public void setPjName(String pjName) {
        this.pjName = pjName;
    }

    public String getCtmName() {
        return ctmName;
    }

    public void setCtmName(String ctmName) {
        this.ctmName = ctmName;
    }

    public String getCertNo() {
        return certNo;
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getProcessState() {
        return processState;
    }

    public void setProcessState(String processState) {
        this.processState = processState;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }

    public String getProcessHandleMan() {
        return processHandleMan;
    }

    public void setProcessHandleMan(String processHandleMan) {
        this.processHandleMan = processHandleMan;
    }

    public String getUrgentFlag() {
        return urgentFlag;
    }

    public void setUrgentFlag(String urgentFlag) {
        this.urgentFlag = urgentFlag;
    }

    public String getUrgentFlagName() {
        return urgentFlagName;
    }

    public void setUrgentFlagName(String urgentFlagName) {
        this.urgentFlagName = urgentFlagName;
    }

    public Date getBillDate() {
        return billDate;
    }

    public void setBillDate(Date billDate) {
        this.billDate = billDate;
    }

    public String getBillDateString() {
        return billDateString;
    }

    public void setBillDateString(String billDateString) {
        this.billDateString = billDateString;
    }

    public String getAgentMan() {
        return agentMan;
    }

    public void setAgentMan(String agentMan) {
        this.agentMan = agentMan;
    }

    public String getAgentLinkTel() {
        return agentLinkTel;
    }

    public void setAgentLinkTel(String agentLinkTel) {
        this.agentLinkTel = agentLinkTel;
    }

    public String getInstallAddr() {
        return installAddr;
    }

    public void setInstallAddr(String installAddr) {
        this.installAddr = installAddr;
    }

    public String getMeterNum() {
        return meterNum;
    }

    public void setMeterNum(String meterNum) {
        this.meterNum = meterNum;
    }

    public String getSourceFlag() {
        return sourceFlag;
    }

    public void setSourceFlag(String sourceFlag) {
        this.sourceFlag = sourceFlag;
    }

    public String getPjType() {
        return pjType;
    }

    public void setPjType(String pjType) {
        this.pjType = pjType;
    }

    public String getChargeDate() {
        return chargeDate;
    }

    public void setChargeDate(String chargeDate) {
        this.chargeDate = chargeDate;
    }

    public Double getChargeMoney() {
        return chargeMoney;
    }

    public void setChargeMoney(Double chargeMoney) {
        this.chargeMoney = chargeMoney;
    }

    public Integer getChargeFlag() {
        return chargeFlag;
    }

    public void setChargeFlag(Integer chargeFlag) {
        this.chargeFlag = chargeFlag;
    }

    public String getChargeFlagName() {
        return chargeFlagName;
    }

    public void setChargeFlagName(String chargeFlagName) {
        this.chargeFlagName = chargeFlagName;
    }

    public Integer getChargeType() {
        return chargeType;
    }

    public void setChargeType(Integer chargeType) {
        this.chargeType = chargeType;
    }

    public String getChargeTypeName() {
        return chargeTypeName;
    }

    public void setChargeTypeName(String chargeTypeName) {
        this.chargeTypeName = chargeTypeName;
    }

    public String getReceiptId() {
        return receiptId;
    }

    public void setReceiptId(String receiptId) {
        this.receiptId = receiptId;
    }

    public List<HashMap<String, String>> getIds() {
        return ids;
    }

    public void setIds(List<HashMap<String, String>> ids) {
        this.ids = ids;
    }

    public Double getBudgetMoney() {
        return budgetMoney;
    }

    public void setBudgetMoney(Double budgetMoney) {
        this.budgetMoney = budgetMoney;
    }

    public Double getAccruedMoney() {
        return accruedMoney;
    }

    public void setAccruedMoney(Double accruedMoney) {
        this.accruedMoney = accruedMoney;
    }

    public Integer getTerminationFlag() {
        return terminationFlag;
    }

    public void setTerminationFlag(Integer terminationFlag) {
        this.terminationFlag = terminationFlag;
    }

    public Integer getTimepostponeFlag() {
        return timepostponeFlag;
    }

    public void setTimepostponeFlag(Integer timepostponeFlag) {
        this.timepostponeFlag = timepostponeFlag;
    }

    public String getUserCtmTempId() {
        return userCtmTempId;
    }

    public void setUserCtmTempId(String userCtmTempId) {
        this.userCtmTempId = userCtmTempId;
    }

    public String getCompletionDate() {
        return completionDate;
    }

    public void setCompletionDate(String completionDate) {
        this.completionDate = completionDate;
    }

    public String getUsedTime() {
        return usedTime;
    }

    public void setUsedTime(String usedTime) {
        this.usedTime = usedTime;
    }

    public String getCreateTime() {
        return createTime;
    }

    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getConstructionUnit() {
        return constructionUnit;
    }

    public void setConstructionUnit(String constructionUnit) {
        this.constructionUnit = constructionUnit;
    }

    public Integer getDelayFlag() {
        return delayFlag;
    }

    public void setDelayFlag(Integer delayFlag) {
        this.delayFlag = delayFlag;
    }

    public Integer getDelayState() {
        return delayState;
    }

    public void setDelayState(Integer delayState) {
        this.delayState = delayState;
    }

    public Integer getPendingState() {
        return pendingState;
    }

    public void setPendingState(Integer pendingState) {
        this.pendingState = pendingState;
    }

    public String getDelayStateName() {
        return delayStateName;
    }

    public void setDelayStateName(String delayStateName) {
        this.delayStateName = delayStateName;
    }

    public Integer getTimeOutFlag() {
        return timeOutFlag;
    }

    public void setTimeOutFlag(Integer timeOutFlag) {
        this.timeOutFlag = timeOutFlag;
    }

    public String getTimeOutFlagName() {
        return timeOutFlagName;
    }

    public void setTimeOutFlagName(String timeOutFlagName) {
        this.timeOutFlagName = timeOutFlagName;
    }

    public Integer getOverruleFlag() {
        return overruleFlag;
    }

    public void setOverruleFlag(Integer overruleFlag) {
        this.overruleFlag = overruleFlag;
    }

    public String getOverruleFlagName() {
        return overruleFlagName;
    }

    public void setOverruleFlagName(String overruleFlagName) {
        this.overruleFlagName = overruleFlagName;
    }

    public Integer getPayOffFlag() {
        return payOffFlag;
    }

    public void setPayOffFlag(Integer payOffFlag) {
        this.payOffFlag = payOffFlag;
    }

    public String getPayOffFlagName() {
        return payOffFlagName;
    }

    public void setPayOffFlagName(String payOffFlagName) {
        this.payOffFlagName = payOffFlagName;
    }

    public Integer getSignContractFlag() {
        return signContractFlag;
    }

    public void setSignContractFlag(Integer signContractFlag) {
        this.signContractFlag = signContractFlag;
    }

    public String getSignContractFlagName() {
        return signContractFlagName;
    }

    public void setSignContractFlagName(String signContractFlagName) {
        this.signContractFlagName = signContractFlagName;
    }

    public String getProcessInstanceId() {
        return processInstanceId;
    }

    public void setProcessInstanceId(String processInstanceId) {
        this.processInstanceId = processInstanceId;
    }

    public String getBusinessArea() {
        return businessArea;
    }

    public void setBusinessArea(String businessArea) {
        this.businessArea = businessArea;
    }

    public Date getPlanTime() {
        return planTime;
    }

    public void setPlanTime(Date planTime) {
        this.planTime = planTime;
    }



    public Integer getPlanSum() {
        return planSum;
    }

    public void setPlanTimeSum(Integer planSum) {
        this.planSum = planSum;
    }

    public String getUsedTimeStr() {
        return usedTimeStr;
    }

    public void setUsedTimeStr(String usedTimeStr) {
        this.usedTimeStr = usedTimeStr;
    }

    public Integer getWorkDays() {
        return workDays;
    }

    public void setWorkDays(Integer workDays) {
        this.workDays = workDays;
    }

    public Integer getWorkHours() {
        return workHours;
    }

    public void setWorkHours(Integer workHours) {
        this.workHours = workHours;
    }

    public String getTimeOut() {
        return timeOut;
    }

    public void setTimeOut(String timeOut) {
        this.timeOut = timeOut;
    }

    public String getProjectTimeOut() {
        return projectTimeOut;
    }

    public void setProjectTimeOut(String projectTimeOut) {
        this.projectTimeOut = projectTimeOut;
    }

    public String getCurrentNodetimeOutFlag() {
        return currentNodetimeOutFlag;
    }

    public void setCurrentNodetimeOutFlag(String currentNodetimeOutFlag) {
        this.currentNodetimeOutFlag = currentNodetimeOutFlag;
    }

    public Integer getUsedSum() {
        return usedSum;
    }

    public void setUsedSum(Integer usedSum) {
        this.usedSum = usedSum;
    }


}
